Oracle / PLSQL SUM函数

您所在的位置:网站首页 sql sum函数求和语句 Oracle / PLSQL SUM函数

Oracle / PLSQL SUM函数

2023-04-07 06:56| 来源: 网络整理| 查看: 265

这个Oracle教程解释了如何使用Oracle / PLSQL SUM函数。

SUM(x) 添加x中的所有值,并返回总和。

SUM函数对一组行进行操作,并返回一行输出。 Null值被SUM函数忽略。您可以使用DISTINCT关键字排除重复条目。

 

语法

Oracle / PLSQL SUM函数的语法是:

SELECT SUM( expression ) FROM tables WHERE conditions;

表达式可以是数字字段或公式。

以下SQL计算工资超过50000的所有员工的总工资。

SELECT SUM(salary) AS "Total Salary" FROM employees WHERE salary > 50000;

我们可以在SUM函数中使用DISTINCT子句。下面的SQL语句返回薪水高于$ 50,000 /年的唯一薪水值的总薪水。

SELECT SUM(DISTINCT salary) AS "Total Salary" FROM employees WHERE salary > 50000;

如果有两个工资为$ 80,000 /年,这些值中只有一个将用于SUM函数。

我们还可以使用SUM函数中的表达式。

SELECT SUM(sales * 0.05) AS "Total Commission" FROM orders;

我们还可以使用带有group by子句的SUM函数。以这种方式,SUM将计算每个组的和值。

SELECT department, SUM(sales) AS "Total sales" FROM order_details GROUP BY department;

 

实例 CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10), JOB VARCHAR2(9), SAL NUMBER(7, 2), DEPTNO NUMBER(2)); INSERT INTO EMP VALUES (1, 'SMITH', 'CLERK', 800, 20); INSERT INTO EMP VALUES (2, 'ALLEN', 'SALESMAN', 1600, 30); INSERT INTO EMP VALUES (3, 'WARD', 'SALESMAN', 1250, 30); INSERT INTO EMP VALUES (4, 'JONES', 'MANAGER', 2975, 20); INSERT INTO EMP VALUES (5, 'MARTIN','SALESMAN', 1250, 30); INSERT INTO EMP VALUES (6, 'BLAKE', 'MANAGER', 2850, 30); INSERT INTO EMP VALUES (7, 'CLARK', 'MANAGER', 2850, 10); INSERT INTO EMP VALUES (8, 'SCOTT', 'ANALYST', 3000, 20); INSERT INTO EMP VALUES (9, 'KING', 'PRESIDENT',3000, 10); INSERT INTO EMP VALUES (10,'TURNER','SALESMAN', 1500, 30); INSERT INTO EMP VALUES (11,'ADAMS', 'CLERK', 1500, 20); SQL> select sum(sal) from emp; SUM(SAL) ---------- 22575 SQL>

SUM()函数与group by子句使用实例:

SQL> select deptno, SUM(sal) from emp group by deptno; DEPTNO SUM(SAL) ---------- ---------- 30 8450 20 8275 10 5850 SQL>


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3